package com.pilates

import java.util.Date;

import com.pilates.types.TypeAtivo;

public class Matricula {
	//
	
	Date data = null;
	Date dataInicio;
	Boolean experimental = false;
	TypeAtivo ativo = TypeAtivo.SIM;
	static belongsTo = [pessoa:Pessoa, turma:Turma]
	static hasMany = [presencas:Presenca]

	@Override
	public String toString() {
		return pessoa.toString()+" - "+turma.toString();
	} 
	
	static constraints = {
		pessoa(unique:'turma', nullable : false)	
		dataInicio(nullable:false, blank:false)
		experimental()
		data(nullable:true, blank:true)
		ativo()
	}
	
	static mapping = {
		presencas cascade:'delete-orphan'
		sort "pessoa"
		
	}
	
	public Matricula cloneMatricula(){
		Matricula mat = new Matricula();
		mat.setData(this.data);
		mat.setExperimental(this.experimental);
		mat.setAtivo(this.ativo);
		mat.setPessoa(this.pessoa);
		mat.setTurma(this.turma);
		return mat;
	}
	
}
